home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / front.lha / front / src / Checks.mi < prev    next >
Text File  |  1992-08-18  |  2KB  |  68 lines

  1. (* check i/o errors *)
  2.  
  3. (* $Id: Checks.mi,v 1.3 1992/02/05 08:00:00 grosch rel $ *)
  4.  
  5. (* $Log: Checks.mi,v $
  6.  * Revision 1.3  1992/02/05  08:00:00  grosch
  7.  * renamed NULL to DevNull
  8.  *
  9.  * Revision 1.2  1991/11/21  14:47:50  grosch
  10.  * new version of RCS on SPARC
  11.  *
  12.  * Revision 1.1  90/06/11  18:44:43  grosch
  13.  * layout improvements
  14.  * 
  15.  * Revision 1.0     88/10/04  14:26:40  vielsack
  16.  * Initial revision
  17.  * 
  18.  *)
  19.  
  20. IMPLEMENTATION MODULE Checks;
  21.  
  22. FROM    IO        IMPORT    tFile, ReadOpen, WriteOpen;
  23. FROM    Strings        IMPORT    tString, ArrayToString;
  24. FROM    SysError    IMPORT    StatIsBad, SysErrorMessageI;
  25. FROM    SYSTEM        IMPORT    ADR;
  26. FROM    Errors        IMPORT    eInteger, eString, eFatal, eError, ErrorMessageI;
  27.  
  28. CONST DevNull = '/dev/null';
  29.  
  30. PROCEDURE ErrorCheck (a: ARRAY OF CHAR; n: INTEGER);
  31.   VAR s : tString;
  32.   BEGIN
  33.     IF StatIsBad (n) THEN 
  34.       ArrayToString (a, s);
  35.       SysErrorMessageI (n, eFatal, eString, ADR (s));
  36.     END;
  37.   END ErrorCheck;
  38.  
  39. PROCEDURE CheckReadOpen (VAR file: tFile; a: ARRAY OF CHAR);
  40.   VAR s: tString;
  41.   BEGIN
  42.     IF StatIsBad (file) THEN
  43.       ArrayToString (a, s);
  44.       SysErrorMessageI (file, eError, eString, ADR(s));
  45.       file := ReadOpen (DevNull);
  46.       IF StatIsBad (file) THEN
  47.     ArrayToString (DevNull, s);
  48.     SysErrorMessageI (file, eFatal, eString, ADR(s));
  49.       END;
  50.     END;
  51.   END CheckReadOpen;
  52.  
  53. PROCEDURE CheckWriteOpen (VAR file: tFile; a: ARRAY OF CHAR);
  54.   VAR s: tString;
  55.   BEGIN
  56.     IF StatIsBad (file) THEN
  57.       ArrayToString (a, s);
  58.       SysErrorMessageI (file, eError, eString, ADR(s));
  59.       file := WriteOpen (DevNull);
  60.       IF StatIsBad (file) THEN
  61.     ArrayToString (DevNull, s);
  62.     SysErrorMessageI (file, eFatal, eString, ADR(s));
  63.       END;
  64.     END;
  65.   END CheckWriteOpen;
  66.  
  67. END Checks.
  68.